<html>
<head><title>����</title></head>
<body>
<center>
    <table width=780 border=0 cellpadding=3 cellspacing=0>
        <tr>
            <td style='line-height:150%;font-size:16px;text-indent: 20'>
                <p><a href="readme.htm">����</a></p>

                <p align=center><b>�ڶ��� ������������</b></p>

                <p><b>����</b></p>

                <p>ѡ�Ա��˵ġ������㷨����������</p>

                <p>�����й涨ƽ����365�գ�����366�ա�ÿ�꺬��12���¡�</p>

                <p>
                    ��1582��10��4����ǰ������涨ÿ4������һ�����꣬ƽ���곤��Ϊ365.25�죬���ڼ�Ĺ����Ϊ��������1582��10��15��֮����涨ÿ400��97��ƽ���곤��Ϊ365.2425�죬���ڼ�Ĺ����֮Ϊ���������
                    ���������������й��Ѹ�ٵõ�һ�²��ã���һ������ʷ�о���Ҫ����ע�⡣�����ڴ��еߣ�������Ԫ1752��ű��������������Ҫ�ȵ�1927�ꡣ</p>

                <p>
                    ����������������صġ��������⣬����1582�꣬�����ܿ���10�����ң���ʱ����Ϊ������10�죬���Ӵ˸��ø�����������ע��1582��10��4�գ����������һ��Ϊ1582��10��15�գ����������Ҳ����˵1582��10�·�����10�졣</p>

                <p><b>����ľ�������</b></p>

                <p>���������У��ܱ�4�������Ϊ���꣬��һ����366�죬�������Ϊƽ�꣨365�죩�� ��900���1236��Ϊ���꣬��750���1429��Ϊƽ�ꡣ</p>

                <p>
                    ���������Ҳ������һ���򣬵�������ݳ��⣺���ܱ�400���İ���Ϊƽ�꣬��1700�꣬1800�꣬1900���2100�ꡣ�����ܱ�400���������Ϊ���꣬��1600�꣬2000���2400�ꡣ </p>

                <p><b>���������չ</b></p>

                <p>
                    ��������������˹�������ڹ�Ԫǰ45��������۹���������������ʽȷ���ڹ�Ԫ8��ǰ�󣬾�����ˣ������Կ��Խ�������ѧ�ҵ�������ֹ������ǰ�����������������һϵͳ�У����ǿ���˵ĳ����ʳ�����ڹ�Ԫǰ1203��8��28�գ���Ȼ���Ǹ�ңԶ���������۹��δ����������8������·ݸ��д�������</p>

                <p>
                    ���ڹ�Ԫ1��֮ǰ��ݵļ��귽��������ѧ��ͬ��ʷѧ�Ҳ���һ�¡����ļ����У�+1���ǰһ��Ϊ0�꣬��֮��ǰ1����-1�ꡣ������ʷѧ����˵�Ĺ�Ԫǰ585��ʵ������-584�ꡣ</p>

                <p>
                    �������Ը������ֻ��Ϊ�˼��㷽�㡣���磬����ʷѧ�����еģ��ɱ�4�������Ϊ���������������������Ч�ˣ��繫Ԫǰ1��5��9��13���������ļ���������ȴ����Ϊ0��-4��-8��-12
                    �������ܱ�4���</p>

                <p>������INT(x)����ʾ��x������֣���С���ǰ���������磺</p>

                <p>INT(7/4) = 1 INT(5.02) = 5</p>

                <p>INT(8/4) = 2 INT(5.9999) = 5</p>

                <p>���ڸ��������INT(x)ָС�ڵ���x�������������Ļ�����INT(-7.83) = -8�������ĳ�����javascript��ȡ������
                    Math.floor(x)�����С�ڵ���x���������������õ���C++����ô�� (int)x
                    ǿ��ת�����õ��ǵ�����֣�����С�ڵ���x���������

                <p><b>���������������գ�</b></p>

                <p>����������ָ�ӹ�Ԫ -4712 �꿪ʼ�����������ó���������һ�յ�С��ͨ����Ϊ JD
                    (**)����ͳ�������յļ����ǴӸ�������ƽ�磬������ʱ12�㿪ʼ�ġ�������ѧʱ��������ʱ��Ϊ��ߣ����ּ���ͨ�����Ϊ�����������ա�����JDE
                    (**)������Eֻ��һ�ֱ���������ÿ��86400����׼�볤�ϸ�ؼ��ա����磺</p>

                <p>1977��4��26.4�� UT = JD 2443 259.9</p>

                <p>1977��4��26.4�� TD = JDE 2443 259.9</p>

                <p><b>�����յļ���</b></p>

                <p>��YΪ����ݣ�MΪ�·ݣ�DΪ�������ڣ����Դ�С��</p>

                <p>��M > 2��Y��M���䣬�� M
                    =1��2����Y�C1��Y����M+12��M�����仰˵�����������1�»�2�£��򱻿�������ǰһ���13�»�14�¡�</p>

                <p>�Ը���������� ��A = INT��Y/100�� B = 2 - A + INT(A/4)</p>

                <p>��������ȡ B = 0</p>

                <p>Ҫ��������ռ�Ϊ��JD = INT(365.25(Y+4716))+INT(30.6001(M+1))+D+B-1524.5</p>

                <p>
                    ʹ����ֵ30.6ȡ��30.6001������ȷ�ģ���������ʹ��30.6001����ȷ������ȡ��ǡ����������ʵ�Ͽ���30.601����30.61��ȡ��30.6001�����磬5��30.6��ȷ����153��Ȼ�����������ܾ�ȷ��ʾ��30.6���⵼�µó�һ��152.999
                    9998�Ľ����������Ϊ152����������JD�Ͳ���ȷ�ˡ�</p>

                <p>
                    �±��г���һЩ�������Ӧ�������գ��������Գ���֮�á�<br>
                    2000�� 1�� 1.5�� 2451 545.0<br>
                    1987�� 1��27.0�� 2446 822.5<br>
                    1987�� 6��19.5�� 2446 966.0<br>
                    1988�� 1��27.0�� 2447 187.5<br>
                    1988�� 6��19.5�� 2447 332.0<br>
                    1900�� 1�� 1.0�� 2415 020.5<br>
                    1600�� 1�� 1.0�� 2305 447.5<br>
                    1600��12��31.0�� 2305 812.5<br>
                    837�� 4��10.3�� 2026 871.8<br>
                    -1000�� 7��12.5�� 1356 001.0<br>
                    -1000�� 2��29.0�� 1355 866.5<br>
                    -1001�� 8��17.9�� 1355 671.4<br>
                    -4712�� 1�� 1.5�� 0.0
                </p>


                <p><b>����������������</b></p>

                <p>��JD����0.5���� Z Ϊ������֣�F Ϊβ��С��֡�</p>

                <p>�� Z < 2299161��ȡA = Z</p>

                <p>�� Z ���ڵ���2299 161������ ��=INT((Z-1867216.25)/36524.25) ��A=Z+1+��-INT(��/4)</p>

                <p>Ȼ�����</p>

                <p>B = A+1524</p>

                <p>C = INT((B-122.1)/365.25)</p>

                <p>D = INT(365.25C)</p>

                <p>E = INT((B-D)/30.6001) </p>

                <p>�������ڣ���С��֣���Ϊ��d = B - D - INT(30.6001E) + F</p>

                <p>�·�mΪ�� <br>
                    IF E < 14 THEN m = E �C 1 <br>
                    IF E=14 or E=15 THEN m = E �C 13 <br>
                </p>

                <p>���Ϊy��<br>
                    IF m>2 THEN y = C �C 4716<br>
                    IF m =1 or m=2 THEN y = C �C 4715
                </p>

                <p>
                    �����ʽ����Eʱ�õ���30.6001���ܴ�֮��30.6�����¼����û����ǰ��˵�����⡣������õ��Ľ�����2��0�ն���1��31�գ�����4��0�ն���3��31�ա�</p>


<pre>
<b>�㷨ʵ�ַ���(JavaScript)</b>
function int2(v){ return Math.floor(v); }  //ȡ�����
var JD={ //����Ԫ��
  JD:function(y,m,d){ //����ת������
   var n=0, G=0;
   if(y*372+m*31+int2(d)>=588829) G=1; //�ж��Ƿ�Ϊ�����������1582*372+10*31+15
   if(m<=2) m+=12, y--;
   if(G) n=int2(y/100), n=2-n+int2(n/4); //�Ӱ�����
   return int2(365.25*(y+4716)) + int2(30.6001*(m+1))+d+n - 1524.5;
  },
  DD:function(jd,r){ //��������ת����
   var D=int2(jd+0.5), F=jd+0.5-D, c;  //ȡ������������A��С���F
   if(D>=2299161) c=int2((D-1867216.25)/36524.25),D+=1+c-int2(c/4);
   D += 1524;               r.Y = int2((D-122.1)/365.25);//����
   D -= int2(365.25*r.Y);   r.M = int2(D/30.601); //����
   D -= int2(30.601*r.M);   r.D = D;; //����
   if(r.M>13) r.M -= 13, r.Y -= 4715;
   else       r.M -= 1,  r.Y -= 4716;
   //�յ�С��תΪʱ����
   F*=24; r.h=int2(F); F-=r.h;
   F*=60; r.m=int2(F); F-=r.m;
   F*=60; r.s=F;
  }
}
</pre>


                <p><b>���ڼ�������</b></p>

                <p>�ڹ����У������ǰ�7��һ��ѭ�����գ��ܶ�ʼ���й�ĸ�֧�Ƿ������ڼǷ����㷨��ʵ�ּ�����ȫ��ͬ��</p>

                <p>�����������ڼ��������·������ �� �������0ʱ�������գ�����1.5���ٳ���7
                    ���������ָʾ�����ڼ���������Ϊ0����Ϊ�����գ�1Ϊ����һ��2Ϊ���ڶ���3Ϊ������4Ϊ�����ģ�5Ϊ�����壬6Ϊ������ </p>

                <p>��������������Ļ��㲢��Ӱ�����ڡ������1582�꣬10��4�������Ľ�������һ�����10��15�������塣</p>


            </td>
        </tr>
    </table>
</center>
</body>
</html>
